<?php  if ( ! defined('BASEPATH')) exit('No direct script access allowed');
/**
 * PHP正则表达式辅助函数（regexp_helper）
 * @path：helpers/regexp_helper.php
 * ===================================================================
 * @功能：regexp()验证字符串是否符合正则规则
 * $role 验证规则
 * $str  待验证字符串
 * ===================================================================
 * @类别：辅助函数
 * @作者：李超 （lichao1005@126.com）v1.0.0
 */
 if ( ! function_exists('regexp'))
{
	function regexp($role,$str)
	{
		switch ($role)
		{
			case "id"://ID 字母、数字、下划线组成 6-2
			  return preg_match("/^(\w){6,20}$/",$str);
			case "password"://密码
			  return preg_match("/^(\S){6,20}$/",$str);
			case "zhcn"://中文
			  return preg_match("/[\u4e00-\u9fa5]/",$str);
			case "tel"://国内座机电话号
			  return preg_match("/\d{3}-\d{8}|\d{4}-\d{7,8}/",$str);
			case "qq"://QQ号
			  return preg_match("/^[1-9][0-9]{4,}$/",$str);
			case "numberInteger"://整形数字
			  return preg_match("/^[-+]?[1-9]\d*\.?[0]*$/",$str);
			case "numberFloat"://浮点型数字
			  return preg_match("/^[-+]?[0-9]*\.?[0-9]+([eE][-+]?[0-9]+)?$/",$str); 
			case "email":// email
			  return preg_match("/^([0-9a-zA-Z]([-.\w]*[0-9a-zA-Z])*@([0-9a-zA-Z][-\w]*[0-9a-zA-Z]\.)+[a-zA-Z]{2,9})$/",$str);
			case "cid"://18位身份证号
			  return preg_match("/^(\d{6})(\d{4})(\d{2})(\d{2})(\d{3})([0-9]|X|x)$/",$str);
			case "zipcode"://国内邮编
			  return preg_match("/^[1-9]\d{5}(?!\d)$/",$str);
			case "url"://网址
			  return preg_match("/^(ht|f)tp(s?)\:\/\/[0-9a-zA-Z]([-.\w]*[0-9a-zA-Z])*(:(0-9)*)*(\/?)([a-zA-Z0-9\-\.\?\,\'\/\\\+&amp;%\$#_]*)?$/",$str);
			case "htmlHexCode"://html颜色代码，如：#fff0
			  return preg_match("//^#([a-fA-F0-9]){3}(([a-fA-F0-9]){3})?$/",$str);
			case "dottedQuadIP"://ip地址
			  return preg_match("/^(\d|[01]?\d\d|2[0-4]\d|25[0-5])\.(\d|[01]?\d\d|2[0-4] \d|25[0-5])\.(\d|[01]?\d\d|2[0-4]\d|25[0-5])\.(\d|[01]?\d\d|2[0-4] \d|25[0-5])$/",$str);
			case "macAddress"://主机mac地址
			  return preg_match("/^([0-9a-fA-F]{2}:){5}[0-9a-fA-F]{2}$/",$str);
		}
		return false;
	}
}

/* End of file regexp_helper.php */
